<template>
	<view class="pageStyle">
		<!-- <g-watermark/> -->
		<web-view :src="urls" disable-swipe></web-view>
	</view>
</template>
<script>
	import {
		Api
	} from "@/utils/Api.js";
	import {
		mapState
	} from "vuex";
	export default {
		data() {
			return {
				describe: "通知公告",
				model: {},
				url: {
					list: "/m/notice/listPage",
				},
				urls: "",
			};
		},
		onReady() {
			// 双指缩放
			// #ifdef APP-PLUS
			// this为undefined
			// var wv = this.$scope.$getAppWebview();
			let pages = getCurrentPages();
			console.log('pages', pages);
			var page = pages[pages.length - 1];
			var wv = page.$getAppWebview();
			setTimeout(function() {
				wv.setStyle({
					scalable: true
				})
			}, 1000); //如果是页面初始化调用时，需要延时一下

			// 注入js
			/* var currentWebview = this.$scope.$getAppWebview().children()[0];
			console.log('currentWebview', currentWebview);
			//监听注入的js
			currentWebview.addEventListener("loaded", function() {
				currentWebview.evalJS(
					"mui.init({keyEventBind: {backbutton: false }});"
				);
				console.log('evalJS on loaded');
			}); */
			// #endif

			// #ifdef APP-PLUS
			// 禁止侧滑，IOS允许侧滑则不会触发onBackPress
			/* var currentWebview = this.$scope.$getAppWebview();
			setTimeout(() => {
				currentWebview.setStyle({
					"popGesture": 'none',
					// "app-plus": {
					// 	"popGesture": "none", // 禁用侧滑
					// 	"bounce": "none" // 禁用上下拖动页面
					// },
					// "disableSwipeBack": true // 禁止IOS侧滑事件，加上此句后，能收到onBackPress事件了
				})
			}, 1); */

			// #endif			
		},
		mounted() {
			// // #ifdef APP-PLUS 
			// let pages = getCurrentPages();
			// let page = pages[pages.length - 1];
			// let currentWebview = page.$getAppWebview()
			// currentWebview.setStyle({
			// 	popGesture: 'none'
			// })
			// // #endif 
		},
		onShow() {},
		onLoad(options) {
			this.model = JSON.parse(options.record);

			//动态获取webview链接
			console.log('onLoad this.loginInfo', this.loginInfo);
			this.urls = Api.baseUrl + this.url.list + "?skey=" + this.loginInfo.skey + "&isUniWebview=true";

			// 取得当前的webview，监听标题的变化
			// let pages = getCurrentPages();
			// var page = pages[pages.length - 1];
			// var currentWebview = page.$getAppWebview();
			// // var currentWebview = this.$scope.$getAppWebview();
			// currentWebview.setTitleNViewButtonStyle(0, {
			// 	text: this.urls.indexOf('list') == -1 ? '' : '+'
			// });
			// currentWebview.addEventListener('titleUpdate', function(e) {
			// 	if (e && e.title) {
			// 		console.log('-------------->Webview titleUpdate', e.title);
			// 	}
			// }); 

			// #ifdef APP-PLUS
			// var wv = plus.webview.create("", "custom-webview", {
			// 	plusrequire: "none", //禁止远程网页使用plus的API，有些使用mui制作的网页可能会监听plus.key，造成关闭页面混乱，可以通过这种方式禁止
			// 	'uni-app': 'none', //不加载uni-app渲染层框架，避免样式冲突
			// 	top: uni.getSystemInfoSync().statusBarHeight +
			// 		44 //放置在titleNView下方。如果还想在webview上方加个地址栏的什么的，可以继续降低TOP值
			// })
			// wv.loadURL(this.urls)
			//  //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效
			// var currentWebview = this.$scope.$getAppWebview();
			// currentWebview.append(wv); //一定要append到当前的页面里！！！才能跟随当前页面一起做动画，一起关闭
			// setTimeout(function() {
			// 	console.log(wv.getStyle())
			// }, 1000); //如果是首页的onload调用时需要延时一下，二级页面无需延时，可直接获取
			// #endif			

			// ios侧滑返回功能（关闭）
			// plus.webview.currentWebview().setStyle({
			//   'popGesture': 'none'
			// }); 

			// 放在onLoad中才能有效
			// 在ios上需禁止右滑，onBackPress才有效
			let pages = getCurrentPages();
			let page = pages[pages.length - 1];
			let currentWebview = page.$getAppWebview()
			currentWebview.setStyle({
				popGesture: 'none', // 禁止右滑
				"bounce": "none" // 禁用上下拖动页面			
			})
		},
		// 自定义返回键事件
		// 只有在该函数中返回值为 true 时，才表示不执行默认的返回，自行处理此时的业务逻辑
		// onBackPress(options) {
		// 	console.log('options', options);
		// 	if (options.from === 'navigateBack') {
		// 		return false;
		// 	}
		// 	// #ifdef APP-PLUS
		// 	// this为undefined
		// 	// var wv = this.$scope.$getAppWebview();
		// 	let pages = getCurrentPages();
		// 	console.log('pages', pages);
		// 	var page = pages[pages.length - 1];
		// 	var wv = page.$getAppWebview();
		// 	if (wv) {
		// 		wv.canBack(e => { // 查询Webview窗口是否可后退 返回true即返回H5上一级
		// 			if (e.canBack) {
		// 				wv.back();
		// 			} else { //返回 false 即到 app加载H5的第一页，直接返回app，即H5页面回到app页面中
		// 				uni.navigateBack({
		// 					delta: 1
		// 				})
		// 			}
		// 		})
		// 	}
		// 	// 返回true 表示不执行返回键默认操作
		// 	return true;
		// 	// #endif
		// },
		computed: {
			...mapState(["loginInfo"]),
		},
		methods: {
			onNavigationBarButtonTap(e) {
				// console.log('onNavigationBarButtonTap2', e);
				// 此方法会使得添加页面打开后再回退时，会回到九宫格页面，偶尔正常
				// if (e.text == '+') {
				// 	// 操作webview中的元素样式
				// 	// #ifdef APP-PLUS
				// 	var currentWebview = this.$scope.$getAppWebview()
				// 	let wv = currentWebview.children()[0];
				// 	// wv.evalJS("document.getElementById('J_loginIframe').style.height = '500px'");
				// 	wv.evalJS('add()');
				// 	// #endif	

				// 	// plus.runtime.openURL("http://www.baidu.com");//在webview用浏览器打开外部的网址
				// }
			},
		},
	};
</script>
<style lang="scss" scoped>
	.pageStyle {
		height: 100%;
		padding: 20rpx 30rpx;
	}
</style>